﻿
$(document).ready(function () {
    $("#tabs").tabs(); 

    $("#btn_modal_buscar_productos").click(function (event) {
        spProductoBuscarXPresentacion();
    });

    $("#btn_agregar_cantidad").click(function (event) {
        var id = $('#id').val();
        var nom = $('#nom').val();
        var pre = $('#pre').val();
        var can = $('#producto_cantidad').val();
        var des = $('#descuento').val();
        fnAgregarProducto(id, nom, pre, can, des);
        $("#tabs").tabs("option", "active", 1);
        //$('#modalCantidadProducto').modal({ show: false });
    });
    
    fnLlenarSelect("#almacen", "wsReutilizables.asmx/almacenLista",
        "{}", "item.alm_id", "item.alm_nombre");

    fnLlenarSelect("#tipDocumento", "wsPedido.asmx/tipoDocumentoLista",
        "{}", "item.tipDoc_id", "item.tipDoc_nombre");

    fnLlenarSelect("#autorizadorAumento", "wsPedido.asmx/listaAutorizadores",
        "{}", "item.per_id", "item.per_nombres");

    fnLlenarSelect("#autorizadorPase", "wsPedido.asmx/listaAutorizadores",
        "{}", "item.per_id", "item.per_nombres");
    
    modoPagoLista();

    $("#btnPase").click(function (event) {
        if ($('#idAutoPase').val() == 0) {
            $('#idAutoPase').val($('#autorizadorPase').val());
        } else {
            fnSelectValue('#autorizadorPase', $('#idAutoPase').val());
        }        
        $('#modalPase').modal({ show: true });
    });


    $("#btnAumento").click(function (event) {
        if ($('#idAutoAumento').val() == 0) {
            $('#idAutoAumento').val($('#autorizadorAumento').val());
        } else {
            fnSelectValue('#autorizadorAumento', $('#idAutoAumento').val());
        }
        $('#modalAumento').modal({ show: true });
    });
    
    $('#autorizadorPase').change(function (event) {
        event.preventDefault();
        $('#idAutoPase').val($('#autorizadorPase').val());
    });

   

    $('#autorizadorAumento').change(function (event) {
        event.preventDefault();
        $('#idAutoAumento').val($('#autorizadorAumento').val());
    });

    $("#btnAceptarAumento").click(function (event) {
        $('#idPerAutoAumento').val(2);
    });

    $("#btnAceptarPase").click(function (event) {
        $('#idPerAutoPase').val(1);
    });
    

    $("#btnRegistrarPedido").click(function (event) {
        console.log($("#frmPedido").serializeObject());
        fnRegistrarFormulario("wsPedido.asmx/registrarPedido", $("#frmPedido").serializeObject(), successModPrecio, errorModPrecio);
    });

    var successModPrecio = function (d) {       
        spProductosXLinea(d.msg);
    }

    var errorModPrecio = function (d) {
        fnMessageModal(d.msg);
    }

    //tipoDocumentoLista();
    
    //almacenLista();

    //modalBuscarProductos

   

});

function spProductoBuscarXPresentacion() {
    fnDataTableAjax(
       "#tbProductosBusqueda",
       "wsPedido.asmx/spProductoBuscarXPresentacion",
       "{'idAlmacen': '" + $("#almacen").val() + "', 'prmPresentacion':'" + $("#producto_buscar_nombre").val() + "'}",
       [
           { "mData": "pro_id" },
           { "mData": "pro_presentacion" },
           //{ "mData": "pro_uniMedida" },
           { "mData": "precio.pre_precio" },
           { "mData": "precio.pre_descuento" },
           { "mData": "linea.lin_descripcion" },
           { "mData": "stock" },
           {
               "mData": null, "mRender": function (aData) {
                   var txt = JSON.stringify(aData);
                   return '<button onclick=\'agregar(' + txt + ')\'>Agregar</button>';
                   //var txt = JSON.stringify(aData);
                   //console.log(aData.pro_id + ',' + aData.precio.pre_precio + ',"' + aData.pro_presentacion);
                   //return '<button onclick="agregar(\'' + aData.pro_presentacion + '\',' + aData.precio.pre_precio + ',' + aData.pro_id + ')">Agregar</button>';
                   //return '<a href="#" onclick=llamarLink('+ txt+')>Agregar</a>';
               }
           }

       ])
}

    function agregar(txt) {
        $('#id').val(txt.pro_id);
        $('#nom').val(txt.pro_presentacion);
        $('#pre').val(txt.precio.pre_precio);
        $('#stock').val(txt.stock);
        $('#descuento').val(txt.precio.pre_descuento);
        $('#modalCantidadProducto').modal({ show: true }); 
    
    }

function fnAgregarProducto(id, nom, pre, can, des) {
    $.ajax({
        type: "POST",
        url: "wsPedido.asmx/agregarProducto",
        data: '{"id":"' + id + '", "nom":"' + nom + '","pre":"' + pre + '","des":"' + des + '","can":"' + can + '"}',
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function (response) {
            var lst = response.d;
            console.log(lst);
            listaDetalleProductos();
        },
        failure: function (msg) {
            alert(msg);
        }
    });
}

$("#txtRazSocialCliente").autocomplete({
    source: function (request, response) {
        $.ajax({
            url: "wsPedido.asmx/spClienteXRazonSocial",
            data: "{ 'prmRazSocial': '" + request.term + "' }",
            dataType: "json",
            type: "POST",
            contentType: "application/json; charset=utf-8",
            success: function (data) {
                var lstCliente = data.d;
                response($.map(lstCliente, function (cliente) {
                    return {
                        value: cliente.cli_razonSocial,
                        cli_nic: cliente.cli_rucdni,
                        cli_id: cliente.cli_id,
                        deuda: cliente.deuda,
                        lineaCredito: cliente.lineaCredito
                    }

                }))
            },
            error: function (XMLHttpRequest, textStatus, errorThrown) {
                alert(textStatus);
            }
        });
    },
    select: function (e, i) {
        $("#txtRucDni").val(i.item.cli_nic);
        $("#idCliente").val(i.item.cli_id);
        $("#lineaCredito").val(i.item.lineaCredito);
        $("#deuda").val(i.item.deuda);        
        
        fnLlenarSelect("#sucursalCliente", "wsPedido.asmx/spAlmacenClienteXNic",
         "{ 'prmNic': '" + i.item.cli_nic + "' }",
         "item.almCli_direccion", "item.almCli_direccion");
    },
    minLength: 2
});


function listaDetalleProductos() {
    fnDataTableAjax(
       "#tbDetalleProducto",
       "wsPedido.asmx/listaDetalleProductos",
       "{}",
       [
           { "mData": "producto.pro_id" },
           { "mData": "producto.pro_presentacion" },
           { "mData": "cotDet_precio" },
           { "mData": "cotDet_descuento" },
           { "mData": "cotDet_cantidad" },
           { "mData": "importe" },
           {
               "mData": null, "mRender": function (aData) {
                   $("#subTotal").val(aData.subTotal);
                   $("#igv").val(aData.igvTotal);
                   $("#total").val(aData.total);              
                   return '<a href="#">Eliminar</a>';
               }
           }

       ])
}

/*//////////////////////////////////////////////////////////////////////////////*/


//function fnLimpiarCamposCliente() {
//    $("#txtRazSocialCliente").val("");
//}

//$("#txtRazSocialCliente").autocomplete({
//    source: function (request, response) {
//        $.ajax({
//            url: "wsPedido.asmx/spClienteXRazonSocial",
//            data: "{ 'prmRazSocial': '" + request.term + "' }",
//            dataType: "json",
//            type: "POST",
//            contentType: "application/json; charset=utf-8",
//            success: function (data) {
//                var lstCliente = data.d;
//                response($.map(lstCliente, function (cliente) {
//                    return {
//                        value: cliente.cli_razonSocial,
//                        cli_nic: cliente.cli_nic
//                    }

//                }))
//            },
//            error: function (XMLHttpRequest, textStatus, errorThrown) {
//                alert(textStatus);
//            }
//        });
//    },
//    select: function (e, i) {
//        spAlmacenClienteXNic(i.item.cli_nic);
//        $("#txtNic").val(i.item.cli_nic);
//    },
//    minLength: 2
//});

//$("#txtNic").keyup(function () {
//    if (isNaN($('#txtNic').val().substring($('#txtNic').val().length - 1, $('#txtNic').val().length))) {
//        document.getElementById("txtNic").value = $('#txtNic').val().substring(0, $('#txtNic').val().length - 1);
//    } else if ($('#txtNic').val().length == 8 || $('#txtNic').val().length == 11) {

//        var nic = $("#txtNic").val();
//        spAlmacenClienteXNic(nic);
//    } else if ($('#txtNic').val().length > 11) {
//        var nic = $("#txtNic").val();
//        var nic = nic.substring(0, 11);
//        document.getElementById("txtNic").value = nic;
//    }
//});

//function spAlmacenClienteXNic(prmNic) {
//    $.ajax({
//        type: "POST",
//        url: "wsPedido.asmx/spAlmacenClienteXNic",
//        data: "{ 'prmNic': '" + prmNic + "' }",
//        contentType: "application/json; charset=utf-8",
//        dataType: "json",
//        success: function (response) {
//            etiqueta.find('option').remove();           
//            var lstAlmCliente = response.d;
//            //$("#txtRazSocialCliente").value = lstAlmCliente[0].cliente.cli_razonSocial;
//            for (var i = 0; i < lstAlmCliente.length; ++i) {
//                $("#selClienteSucursales").append('<option value="' + lstAlmCliente[i].almCli_id + '">' + lstAlmCliente[i].almCli_direccion + '</option>');
//            }
//        },
//        failure: function (msg) {
//            alert(msg);
//        }
//    });
//}

//function tipoDocumentoLista() {
//    var etiqueta = $("#tipDocumento");
//    $.ajax({
//        type: "POST",
//        url: "wsPedido.asmx/tipoDocumentoLista",
//        data: "{}",
//        contentType: "application/json; charset=utf-8",
//        dataType: "json",
//        success: function (response) {
//            var lst = response.d;
//            $.each(lst, function (index, enTipoDocumento) {
//                etiqueta.append('<option value="' + enTipoDocumento.tipDoc_id + '">' + enTipoDocumento.tipDoc_nombre + '</option>');
//            });
//        },
//        failure: function (msg) {
//            alert(msg);
//        }
//    });
//}

function modoPagoLista() {
    var etiqueta = $("#modoPago");
    $.ajax({
        type: "POST",
        url: "wsPedido.asmx/modoPagoLista",
        data: "{}",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function (response) {
            var lst = response.d;
            $.each(lst, function (index, enModoPago) {
                etiqueta.append('<option value="' + enModoPago.modPag_id + '">' + enModoPago.modPag_nombre + '</option>');
            });
        },
        failure: function (msg) {
            alert(msg);
        }
    });
}

//function almacenLista() {
//    var etiqueta = $("#almacen");
//    $.ajax({
//        type: "POST",
//        url: "wsPedido.asmx/almacenLista",
//        data: "{}",
//        contentType: "application/json; charset=utf-8",
//        dataType: "json",
//        success: function (response) {
//            var lst = response.d;
//            $.each(lst, function (index, enAlmacen) {
//                etiqueta.append('<option value="' + enAlmacen.alm_id + '">' + enAlmacen.alm_nombre + ' - ' + enAlmacen.alm_direccion + ' - ' + enAlmacen.alm_ciudad + '</option>');
//            });
//        },
//        failure: function (msg) {
//            alert(msg);
//        }
//    });
//}
//var varProducto = new Array();
//function spProductoBuscarXPresentacion(prmPresentacion) {
//    $("#tbBodyBuscaProducto").find('tr').remove();
//    var etiqueta = $("#tbBodyBuscaProducto");
//    $.ajax({
//        type: "POST",
//        url: "wsPedido.asmx/spProductoBuscarXPresentacion",
//        data: "{ 'prmPresentacion': '" + prmPresentacion + "' }",
//        contentType: "application/json; charset=utf-8",
//        dataType: "json",
//        success: function (response) {
//            var lst = response.d;
//            var i = 1;

//            $.each(lst, function (index, enProducto) {
//                varProducto = [enProducto.pro_id, enProducto.unidadMedida.uniMed_descripcion, enProducto.pro_presentacion, enProducto.precio.pre_preVenta];
//                etiqueta.append('<tr>'
//                    + '<td>' + enProducto.pro_id + '</td>'
//                    + '<td>' + enProducto.unidadMedida.uniMed_descripcion + '</td>'
//                    + '<td>' + enProducto.pro_presentacion + '</td>'
//                    + '<td>' + enProducto.linea.lin_descripcion + '</td>'
//                    + '<td>' + 123 + '</td>'
//                    + '<td>' + enProducto.almacen.alm_nombre + '</td>'
//                    + '<td> S/.' + enProducto.precio.pre_preVenta + '</td>'
//                    + '<td> <a href="#" onclick="guardarDetalle()">Agregar</a></td>'
//                    + '</tr>');
//                i++;
//            });
//        },
//        failure: function (msg) {
//            alert(msg);
//        }
//    });
//}

//$("#txtBuscarProducto").keyup(function () {
//    var cadena = $("#txtBuscarProducto").val();
//    if (cadena.length > 3) {
//        spProductoBuscarXPresentacion($("#txtBuscarProducto").val());
//    } else {
//        $("#tbBodyBuscaProducto").find('tr').remove();
//    }
//});

//function guardarDetalle() {
//    $("#tbBodyDetalle").find('tr').remove();
//    var etiqueta = $("#tbBodyDetalle");
//    $.ajax({
//        type: "POST",
//        url: "wsPedido.asmx/spDetallePedido",
//        data: "{ 'id': '" + varProducto[0]
//            + "','uniMed': '" + varProducto[1]
//            + "','presentacion': '" + varProducto[2]
//            + "','pre': '" + varProducto[3]
//            + "','cantidad': '" + 2 + "'}",
//        contentType: "application/json; charset=utf-8",
//        dataType: "json",
//        success: function (response) {
//            var lst = response.d;
//            var i = 1;

//            $.each(lst, function (index, enProducto) {
//                var total = enProducto.precio.pre_preVenta * enProducto.cantidad;

//                etiqueta.append('<tr>'
//                    + '<td>' + enProducto.pro_id + '</td>'
//                    + '<td>' + enProducto.unidadMedida.uniMed_descripcion + '</td>'
//                    + '<td>' + enProducto.pro_presentacion + '</td>'
//                    + '<td>' + enProducto.linea.lin_descripcion + '</td>'
//                    + '<td> S/.' + enProducto.precio.pre_preVenta + '</td>'
//                     + '<td>' + enProducto.cantidad + '</td>'
//                    + '<td> S/.' + total + '</td>'

//                    + '<td> <a href="#" onclick="alert()">Quitar</a></td>'
//                    + '</tr>');
//                i++;
//            });
//        },
//        failure: function (msg) {
//            alert(msg);
//        }
//    });
//}